package stat;

import java.util.EnumMap;

import loadsave.Memento;
import loadsave.loadsaveobject.Iterator;
import loadsave.loadsaveobject.LoadSaveObject;

public class NonEntityStatList extends StatList {

    /**
     * make the basic stats and derived stats without following anything
     * add them to statlist
     */
    public NonEntityStatList() {
        super();
        
        addStatToList(new Stat(StatType.EXP));
        //addStatToList(new Stat(StatType.LIVES));
        addStatToList(new Stat(StatType.STR));
        addStatToList(new Stat(StatType.AGI));
        addStatToList(new Stat(StatType.INT));
        addStatToList(new Stat(StatType.HAR));
        addStatToList(new Stat(StatType.MVT));
        addStatToList(new Stat(StatType.VISIBILITY));
        addStatToList(new HPDerivedStat(StatType.HP));
        addStatToList(new LivesDerivedStat(StatType.LIVES));
        addStatToList(new MPDerivedStat(StatType.MP));
        
    }

    @Override
    public Memento getMemento() {
        return new Memento() {

            @Override
            public LoadSaveObject getState() {
                LoadSaveObject lso = NonEntityStatList.super.getMemento().getState();
                lso.setType("NonEntityStatList");
                return lso;
            }

            @Override
            public void restoreState(LoadSaveObject lso) {
                NonEntityStatList.super.getMemento().restoreState(lso);
            }
            
        };
    }
    
}
